﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Bitcoin.Diagnostics
{
    public interface ILog
    {
        void DebugFormat(string format, params object[] args);

        void Error(string message);

        void Error(string message, Exception e);

        void ErrorFormat(string format, params object[] args);

        void ErrorFormat(string format, Exception e, params object[] args);

        void Info(string message);

        void InfoFormat(string format, params object[] args);

        bool IsDebugEnabled { get; set; }

        bool IsInfoEnabled { get; set; }

        void Warn(string message);

        void Warn(string message, Exception e);

        void WarnFormat(string format, params object[] args);

    }
}
